package com.inspector.app.ui.chat.utils;

import android.graphics.Bitmap;
import android.media.MediaMetadataRetriever;

import java.io.IOException;
import java.util.HashMap;

public class VideoThumbnailUtils {

    /**
     * 获取视频的第一帧图像
     *
     * @param videoPath 视频的本地路径或网络URL
     * @return 第一帧的Bitmap，如果无法获取则返回null
     */
    public static Bitmap getFirstFrame(String videoPath) {
        Bitmap bitmap = null;
        MediaMetadataRetriever retriever = new MediaMetadataRetriever();

        try {
            // 如果是网络URL，使用setData方法
            if (videoPath.startsWith("http")) {
                retriever.setDataSource(videoPath, new HashMap<String, String>());
            } else {
                // 如果是本地文件路径，直接使用setDataSource方法
                retriever.setDataSource(videoPath);
            }

            // 获取第一帧
            bitmap = retriever.getFrameAtTime(0);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 释放资源
            try {
                retriever.release();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        return bitmap;
    }
}
